package com.yonyou.sto.modules.ims.dto;

import com.yonyou.sto.modules.ims.model.ImsInvoiceItem;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @author Aegon Targaryen
 * @date 2020/10/22 9:57
 * @description: TODO
 */
@Data
@ApiModel(value="手工开票对象", description="新增和详情")
public class ManualDto {

    @ApiModelProperty(value = "手工开票主键")
    private String manualId;

    @ApiModelProperty(value = "收款单编号")
    private String billSn;



    @ApiModelProperty(value = "购买方编号")
    private String buyerSn;

    @ApiModelProperty(value = "购买方名称")
    private String buyerName;

    @ApiModelProperty(value = "购买方纳税人识别号")
    private String buyerTaxSn;

    @ApiModelProperty(value = "购买方电话")
    private String buyerPhone;

    @ApiModelProperty(value = "购买方地址")
    private String buyerAddress;

    @ApiModelProperty(value = "购买方银行账号")
    private String buyerBankAccount;

    @ApiModelProperty(value = "购买方银行开户行")
    private String buyerBankAddress;

    @ApiModelProperty(value = "购买方邮箱")
    private String buyerEmail;



    @ApiModelProperty(value = "组织编码")
    private String partySn;

    @ApiModelProperty(value = "组织名称")
    private String partyName;

    @ApiModelProperty(value = "销售方编码")
    private String sellerSn;

    @ApiModelProperty(value = "销售方名称")
    private String sellerName;

    @ApiModelProperty(value = "销售方纳税人识别号")
    private String sellerTaxSn;

    @ApiModelProperty(value = "销售方银行账户")
    private String sellerBankAccount;

    @ApiModelProperty(value = "销售方地址")
    private String sellerAddress;

    @ApiModelProperty(value = "复核人编码")
    private String verifyUsername;

    @ApiModelProperty(value = "复核人名称")
    private String verifyNickname;



    @ApiModelProperty(value = "收款内容和备注")
    private String note;

    @ApiModelProperty(value = "本次收款金额")
    private BigDecimal payAmount;

    @ApiModelProperty(value = "价税合计")
    private BigDecimal taxAmount;

    @ApiModelProperty(value = "发票流水号")
    private String billSerial;

    @ApiModelProperty(value = "发票类型：3->增值税普通发票；4->增值税专用发票")
    private Integer billType;

    @ApiModelProperty(value = "创建者")
    private String createUser;

    @ApiModelProperty(value = "提交时间")
    private Date createTime;

    @ApiModelProperty(value = "驳回原因")
    private String rejectReason;

    @ApiModelProperty(value = "驳回时间")
    private Date rejectTime;

    @ApiModelProperty(value = "单据状态")
    private Integer status;



    @ApiModelProperty(value = "开票明细数据")
    private List<ImsInvoiceItem> invoiceItems;


}
